Digital graphic design, video editing, and media-editing applications provide designers and artists with the necessary tools to create much of the media seen today through the various media outlets. These tools allow designers the ability to generate, compose, composite, and animate the images and videos in a virtual digital space. In the progression of these tools, the virtual digital space has gone from flat two dimensional (2D) spaces to three dimensional (3D) spaces.
The 3D space provides designers capabilities not previously available within the 2D space. Designers now have the ability to fly virtual cameras throughout the 3D space adding depth to render more lifelike environments. Also, the added third dimension provides designers with a much larger workspace with which to work. Objects such as images, videos, text, shapes, cameras, lights, spatial audio, etc. can be located anywhere in any dimension of the 3D space.
However, the evolution to 3D space has complicated the manner in which the objects within the workspace are displayed. Since the workspace is no longer a flat 2D plane, application developers have had to derive new ways to display all the objects within the 3D space. A single static view that provides a particular viewing perspective or angle of the 3D space simply does not provide designers with the necessary information needed to efficiently modify the objects within the 3D environments. Moving objects and placing objects relative to each other along each of the three dimensions of the 3D space cannot be performed accurately from the single view. FIG. 1 illustrates a single view for an active workspace window 110 of a 3D space within a 3D editing application that includes various editable objects, such as image objects 120 and camera objects 130. By clicking and dragging the various objects, users are able to manipulate the objects within the 3D space. However, because of the single view, users are unable to accurately determine the effect of the object manipulation across all three dimensions and thus at least one height, width, or depth dimension is compromised. For example, in the 3D space of FIG. 1, a user is unable to determine how the movement of an image object 120 relative to a camera object 130 affects what is rendered from the camera object 130.
To attempt to alleviate the problem, application developers provided users with the ability to switch the perspective from which to view the 3D space such that the 3D space is rendered from a more preferred view. One such example is to switch the view to render the 3D space from the view of the camera object 130. However, to do so is time consuming and one view is shown at the expense of not displaying another view. Therefore, when the user makes a change to objects in the 3D space from a first view, the user must revert back to the other views of the 3D space to see how the change in the first view affects what is displayed in the other views.
As a compromise, application developers reduced the size of a single static workspace by introducing multiple simultaneous static workspaces, each workspace providing a different view of the 3D space. Now, when a user manipulates an object within a particular view, the manipulation will be seen from the multiple different views of the other workspaces. However, with every new workspace added, the size of the other workspaces is further reduced. FIG. 2 illustrates a typical 3D editing application that provides an active workspace with a particular view 210 and three additional workspaces 220-240 that each provide different views of the 3D space while occupying equal screen space as the active workspace 210.
In this figure, the 3D space is shown with a perspective view 210, a right side view 220, a top side view 230, and an active camera view 240. However, because of the size of each workspace window, the amount of information that is displayed within each workspace is reduced from what was displayed when using only a single workspace with a single view as above in FIG. 1. Users are able to modify the size and number of the different workspace windows and views displayed onscreen at any given time. However, with each adjustment, the user has to make a tradeoff between the size of the active workspace and the size of each of the other workspaces. This imposes a burden onto the user who now has to manually manage the information displayed on screen.
Users have to anticipate which views are relevant to the manipulations that are to be subsequently performed on the objects within the 3D space. If a particular view is not set, the user has to manually switch one of the multiple views to provide the desired view. Such environment management takes away from time that could otherwise be dedicated working with the objects of the 3D space to create the desired design.
A further problem resulting from the multiple simultaneous workspaces with different views is the computing resources needed to render each of the views. Instead of having to render a scene from a single view, more computing resources are required to render the same scene from multiple different views often taxing the computer system. This caused designers to lose design time as they now had to wait for each of the views to render a single object manipulation multiple times from multiple different views.
Therefore, the multiple simultaneous views commonly employed by 3D editing applications reduces the size of the active workspace, places a burden on the user to manage the different views, and consumes unnecessary computing resources in order to render each of the different views. However, without the multiple simultaneous views, designers are unable to properly work within the digital 3D space. There is thus a need to simplify how and when the different views should be provided to the user such that relevant information needed by the user to manipulate, edit, composite, etc. the objects within the 3D space is provided when needed and avoided when not needed.